package com.hsjk.szwj.module.pay.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.hsjk.szwj.module.pay.dal.dataobject.system.MchAppDO;

import java.util.List;

/**
 * @author chenjiawei
 * @desc
 * @Date 2023/08/21 16:24
 **/
public interface IMchAppService {
    /**
     * 根据商户ID获取商户App列表
     *
     * @param mchId
     * @return java.util.List<com.hsjk.szwj.module.pay.dal.dataobject.system.MchAppDO>
     * @author chenjiawei
     * @date 2023/8/21 4:26 下午
     **/
    List<MchAppDO> listByMchId(Long mchId);

    /**
     * 根据ID获取商户App
     *
     * @param id
     * @return com.hsjk.szwj.module.pay.dal.dataobject.system.MchAppDO
     * @author chenjiawei
     * @date 2023/8/21 10:01 下午
     **/
    MchAppDO getById(Long id);

    /**
     * 根据租户查询商户应用信息
     *
     * @author chenjiawei
     * @date 2023/8/31 9:56 下午
     * @return com.hsjk.szwj.module.pay.dal.dataobject.system.MchAppDO
     **/
    MchAppDO getByTenant();

    /**
     * 根据
     *
     * @author chenjiawei
     * @date 2023/9/6 11:29 PM
     * @param wayCode
     * @return com.hsjk.szwj.module.pay.dal.dataobject.system.MchAppDO
     **/
    MchAppDO getByWayCode(String wayCode);

    /**
     * 根据appId获取信息
     *
     * @author chenjiawei
     * @date 2023/8/29 9:53 上午
     * @param appId
     * @return com.hsjk.szwj.module.pay.dal.dataobject.system.MchAppDO
     **/
    MchAppDO getByAppId(String appId);

    /**
     * 根租户ID获取信息
     *
     * @author chenjiawei
     * @date 2023/8/29 12:20 上午
     * @return com.hsjk.szwj.module.pay.dal.dataobject.system.MchAppDO
     **/
    MchAppDO getInfo();

    /**
     * 根据商户id和appId查询数据
     *
     * @author chenjiawei
     * @date 2023/8/21 11:31 下午
     * @param mchNo
     * @param appId
     * @return com.hsjk.szwj.module.pay.dal.dataobject.system.MchAppDO
     **/
    MchAppDO getOneByMchIdAndId(Long mchId,Long appId);

    /**
     * 通用列表查询
     *
     * @param queryWrapper
     * @return java.util.List<com.hsjk.szwj.module.pay.dal.dataobject.system.MchAppDO>
     * @author chenjiawei
     * @date 2023/8/21 6:57 下午
     **/
    List<MchAppDO> list(LambdaQueryWrapper<MchAppDO> queryWrapper);
}
